"""
多行注释：三个引号之间的内容
"""

# 写一个整数字面量
print(666)


# 变量记录数据，重复使用
money = 50
print("钱包还有：",money)

# money 减10
money = money - 10
print("money - 10 = ",money)    # print 中逗号（","）隔开


# type(变量)——查询的是数据类型而不是变量类型，变量没有类型
type_int = (type (money))
print(type_int)


# 数据类型的转换 int float str (万物皆可转字符串)
# 数字类型转换成字符串
num_str = str (11)
print(type(num_str),num_str)

# 字符串转整数（要求字符串的内容都是数字）
str_int = int("1234")
print(type(str_int),str_int)


# 标识符(内容限定，大小写敏感，不可使用关键字）
# 内容限定（中文，英文，数字，下划线_,不能以数字开头）
# 大小写敏感
Name = "大写"
name = "小写"
print(Name,name)
# 不可使用关键字
Int = 10
print("Int = ",Int)


# 运算符
# 算术运算符
print("1 + 1 =",1+1)
print("1 - 1 =",1-1)
print("1 * 1 =",1*1)
print("1 / 1 =",1/1)
print("9 // 2 =",9//2)  # 整除
print("7 % 2 =",7%2)    # 取余
print("2 ** 4 =",2**4)  # 指数
# 赋值运算符
num  = 1 + 2 * 3
add = 1
add += 1    # add = add + 1
sub = 1
sub -= 1    # sub = sub - 1
multiply = 2
multiply *= 2   # multiply = multiply * 2
divide = 5
divide /= 2     # divide = divide / 2
remainder = 9
remainder %= 2  # remainder = remainder % 2
index = 2
index **= 2     # index = index ** 2
exact_division = 9
exact_division //= 2    # exact_division = exact_division // 2
print(num,add,sub,multiply,divide,remainder,index,exact_division)


# 字符串三种定义方法
# 单引号定义法
name_1 = '单引号定义法'
print(type(name_1))
# 双引号定义法
name_2 = "双引号定义法"
print(type(name_2))
# 三引号定义法
name_3 = """三引号
        定义法"""
print(type(name_3))
# 字符串内部包含双引号——单引号包含或者使用转义字符
name_4 = '"单引号字符串内包含双引号"'
print(name_4)
name_5 = "\"转义字符内包含双引号\""
print(name_5)


# 字符串拼接（字符串无法通过"+"和整数进行拼接）
print("信控"+"学院")
name = "控制工程"
print("信息"+name+"学院")


# 字符串格式化 %d %s %f
# 通过占位形式，完成拼接
name = "学院"
message = "信控 %s" % name
print(message)
# 占位形式拼接字符串和数字
num = 666
link = "信控%d" % num
print(link)
# 占位符拼接数字和数字
num1 = 123
num2 = 456
count = "%d%d" % (num1,num2)
print(count)


# 字符串格式化——数字精度控制（"m.n"来控制数字精度）
num1 = 11
num2 = 11.345
print("数字11控制宽度为7，结果是%7d" % num1)       # 宽度小于数字宽度时不生效
print("浮点数11.345控制宽度为10，精度为2，结果是：%10.2f" % num2)

# 字符串格式化方式（快速写法——不限数据类型,不做精度控制）——语法：f"内容{变量}"的格式来快速格式化  f:format
name = "小白"
num1 = 1
print(f"{name}报数{num1}")

# 对表达式进行格式化
print ("1 * 1 的结果时：%d" % (1 * 2))
print (f"2 * 3 的结果是：{2 * 3}")
print ("字符串在Python中的类型名是:%s" % type("字符串"))

# 数据输入——input
# 获取键盘信息
name = input("请输入用户名：")
num = input("请输入密码")
num = int(num)
print(f"用户名：{name};密码：{num}")
